﻿// *****************************************************************************
// **                   Ladenius MediaCenter TVSeries                         **
// ** ----------------------------------------------------------------------- **
// ** (c) 2008 by Jurjen Ladenius                                             **
// *****************************************************************************

#region Using directives
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#endregion

namespace Ladenius.TheTVDB.Entities {
    /// <summary>
    /// A TvDB Series <see cref="http://thetvdb.com/wiki/index.php/API:Base_Episode_Record"/>
    /// </summary>
    public class Episode {

        /// <summary>
        /// Gets or sets the ID.
        /// </summary>
        /// <value>The ID.</value>
        public int ID { get; set; }

        /// <summary>
        /// Gets or sets the DVD chapter.
        /// </summary>
        /// <value>The DVD chapter.</value>
        public string DVDChapter { get; set; }

        /// <summary>
        /// Gets or sets the DVD disc ID.
        /// </summary>
        /// <value>The DVD disc ID.</value>
        public string DVDDiscID { get; set; }

        /// <summary>
        /// Gets or sets the DVD episode number.
        /// </summary>
        /// <value>The DVD episode number.</value>
        public int DVDEpisodeNumber { get; set; }

        /// <summary>
        /// Gets or sets the DVD season.
        /// </summary>
        /// <value>The DVD season.</value>
        public int DVDSeason { get; set; }

        /// <summary>
        /// Gets or sets the director.
        /// </summary>
        /// <value>The director.</value>
        public List<string> Director { get; set; }

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        /// <value>The name.</value>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the number.
        /// </summary>
        /// <value>The number.</value>
        public int Number { get; set; }

        /// <summary>
        /// Gets or sets the first aired date.
        /// </summary>
        /// <value>The first aired date.</value>
        public DateTime FirstAired { get; set; }

        /// <summary>
        /// Gets or sets the guest stars.
        /// </summary>
        /// <value>The guest stars.</value>
        public List<String> GuestStars { get; set; }
        
        /// <summary>
        /// Gets or sets the IMDB ID.
        /// </summary>
        /// <value>The IMDB ID.</value>
        public int IMDBID { get; set; }

        /// <summary>
        /// Gets or sets the language.
        /// </summary>
        /// <value>The language.</value>
        public Language Language { get; set; }

        /// <summary>
        /// Gets or sets the overview.
        /// </summary>
        /// <value>The overview.</value>
        public string Overview { get; set; }

        /// <summary>
        /// Gets or sets the production code.
        /// </summary>
        /// <value>The production code.</value>
        public string ProductionCode { get; set; }

        /// <summary>
        /// Gets or sets the rating.
        /// </summary>
        /// <value>The rating.</value>
        public double Rating { get; set; }

        /// <summary>
        /// Gets or sets the season number.
        /// </summary>
        /// <value>The season number.</value>
        public int SeasonNumber { get; set; }

        /// <summary>
        /// Gets or sets the writers.
        /// </summary>
        /// <value>The writers.</value>
        public List<string> Writers { get; set; }

        /// <summary>
        /// Gets or sets the absolute number.
        /// </summary>
        /// <value>The absolute number.</value>
        public int AbsoluteNumber { get; set; }

        /// <summary>
        /// Gets or sets the name of the file.
        /// </summary>
        /// <value>The name of the file.</value>
        public string FileName { get; set; }

        /// <summary>
        /// Gets or sets the last updated date.
        /// </summary>
        /// <value>The last updated date.</value>
        public DateTime LastUpdated { get; set; }

        /// <summary>
        /// Gets or sets the season ID.
        /// </summary>
        /// <value>The season ID.</value>
        public int SeasonID { get; set; }

        /// <summary>
        /// Gets or sets the series ID.
        /// </summary>
        /// <value>The series ID.</value>
        public int SeriesID { get; set; }
    }
}
